﻿using System;
using GeoCode.Core;

namespace MSGeoCoder.Services.Yahoo
{
    /// <summary>
    /// 
    /// </summary>
    /// <remarks></remarks>
    public class YahooPlace : Address
    {
        /// <summary>
        /// 
        /// </summary>
        private string admin1;

        /// <summary>
        /// 
        /// </summary>
        private string admin2;

        /// <summary>
        /// 
        /// </summary>
        private string admin3;

        /// <summary>
        /// 
        /// </summary>
        private BoundingBox boundingBox;

        /// <summary>
        /// 
        /// </summary>
        private Location centroid;

        /// <summary>
        /// 
        /// </summary>
        private string continent;

        /// <summary>
        /// 
        /// </summary>
        private string country;

        /// <summary>
        /// 
        /// </summary>
        private string locality1;

        /// <summary>
        /// 
        /// </summary>
        private string locality2;

        /// <summary>
        /// 
        /// </summary>
        private string name;

        //Additional for heirachy
        /// <summary>
        /// 
        /// </summary>
        private int parent_weoid;

        /// <summary>
        /// 
        /// </summary>
        private string placeTypeName;

        /// <summary>
        /// 
        /// </summary>
        private string postal;

        /// <summary>
        /// 
        /// </summary>
        private int virtualId;

        /// <summary>
        /// 
        /// </summary>
        private int virtualParentId;

        /// <summary>
        /// 
        /// </summary>
        private int weoid;

        /// <summary>
        /// Gets the name.
        /// </summary>
        /// <remarks></remarks>
        public String Name
        {
            get { return name; }
             set { name = value; }
        }

        /// <summary>
        /// Gets the virtual parent ID.
        /// </summary>
        /// <remarks></remarks>
        public int VirtualParentID
        {
            get { return VirtualParentId; }
            private set { }
        }

        /// <summary>
        /// Gets the virtual ID.
        /// </summary>
        /// <remarks></remarks>
        public int VirtualID
        {
            get { return VirtualId; }
            private set { }
        }

        /// <summary>
        /// Gets the weoid.
        /// </summary>
        /// <remarks></remarks>
        public int Weoid
        {
            get { return weoid; }
            set { weoid = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public string Admin1
        {
            get { return admin1; }
            set { admin1 = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public string Admin2
        {
            get { return admin2; }
            set { admin2 = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public string Admin3
        {
            get { return admin3; }
            set { admin3 = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public BoundingBox BoundingBox
        {
            get { return boundingBox; }
            set { boundingBox = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public Location Centroid
        {
            get { return centroid; }
            set { centroid = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public string Continent
        {
            get { return continent; }
            set { continent = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public string Locality1
        {
            get { return locality1; }
            set { locality1 = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public string Locality2
        {
            get { return locality2; }
            set { locality2 = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public int ParentWeoid
        {
            get { return parent_weoid; }
            set { parent_weoid = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public string PlaceTypeName
        {
            get { return placeTypeName; }
            set { placeTypeName = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public string Postal
        {
            get { return postal; }
            set { postal = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public int VirtualId
        {
            get { return virtualId; }
            set { virtualId = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public int VirtualParentId
        {
            get { return virtualParentId; }
            set { virtualParentId = value; }
        }
    }
}